---
title: "Update Pipeline"
api: "PUT /v1/pipeline/{slug}"
description: "Update an existing pipeline's configuration"
---

Modify the description or steps of an existing pipeline.

## Examples

<CodeGroup>

```python Python
from chonkie.cloud import Pipeline

# Fetch existing pipeline
pipeline = Pipeline.get("my-rag-pipeline")

# Modify steps
pipeline.chunk_with("sentence", chunk_size=256)

# Update in cloud
pipeline.update(description="Updated to use sentence chunker")
```

```typescript JavaScript
import { Pipeline } from '@chonkiejs/cloud';

// Fetch existing pipeline
const pipeline = await Pipeline.get('my-rag-pipeline');

// Modify steps
pipeline.chunkWith('sentence', { chunk_size: 256 });

// Update in cloud
await pipeline.update({ description: 'Updated to use sentence chunker' });
```

```bash cURL
curl -X PUT https://api.chonkie.ai/v1/pipeline/my-rag-pipeline \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Updated pipeline description",
    "steps": [
      {"type": "chunk", "component": "sentence", "chunk_size": 256}
    ]
  }'
```

</CodeGroup>

## Path Parameters

<ParamField path="slug" type="string" required>
  The pipeline slug to update.
</ParamField>

## Request

<ParamField path="description" type="string">
  New description for the pipeline.
</ParamField>

<ParamField path="steps" type="array">
  New array of pipeline step configurations. If provided, replaces all existing steps.
</ParamField>

## Response

<ResponseField name="id" type="string">
  Unique identifier for the pipeline.
</ResponseField>

<ResponseField name="slug" type="string">
  The pipeline slug.
</ResponseField>

<ResponseField name="description" type="string">
  Updated pipeline description.
</ResponseField>

<ResponseField name="organization_slug" type="string">
  Organization that owns the pipeline.
</ResponseField>

<ResponseField name="steps" type="array">
  Updated array of pipeline step configurations.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp of creation.
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO 8601 timestamp of this update.
</ResponseField>

## Errors

| Status | Description |
|--------|-------------|
| 400 | Invalid pipeline configuration |
| 404 | Pipeline not found |
